/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Ingresos;
import Controladores.AsignacionciclocarreraJpaController;
import Controladores.AsignacionperiodoaulaJpaController;
import Controladores.CarreraJpaController;
import Controladores.HorarioaulaJpaController;
import Controladores.PeriodoJpaController;
import Controladores.exceptions.IllegalOrphanException;
import Controladores.exceptions.NonexistentEntityException;
import Entidades.Asignacionciclocarrera;
import Entidades.Asignacionperiodoaula;
import Entidades.Carrera;
import Entidades.Ciclo;
import Usuarios.conexion;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;

/**
 *
 * @author Victor Jose Betancohurt Hoffens
 */
public class IAsignacionCicloCarrera {
    public void IAsignacionPeriodoAula(){
    }
    
    public void guardar(Ciclo ciclo, Carrera carrera)
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        Asignacionciclocarrera asignacion = new Asignacionciclocarrera();
        AsignacionciclocarreraJpaController controlador = new AsignacionciclocarreraJpaController(emf);
        asignacion.setCarreraidCarrera(carrera);
        asignacion.setCicloidCiclo(ciclo);
        controlador.create(asignacion);        
    }
    public void modificar()
    {
       
    }
    public Asignacionciclocarrera obtenerCicloCarrera(Carrera carrera, Ciclo ciclo){
        Asignacionciclocarrera registro = new Asignacionciclocarrera();
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        EntityManager em = emf.createEntityManager();
        Query qr;
        qr = em.createNamedQuery("Asignacionciclocarrera.findByCicloCarrera");
        qr.setParameter("carrera", carrera);
        qr.setParameter("ciclo", ciclo);
        List<Asignacionciclocarrera> lista = qr.getResultList();
        if(lista.isEmpty()){
            return registro;
        }
        else{
            return lista.get(0);
        }
    }
    public void eliminarByID(Ciclo ciclo, Carrera carrera) throws IllegalOrphanException, NonexistentEntityException{
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        AsignacionciclocarreraJpaController controlador = new AsignacionciclocarreraJpaController(emf);
        Asignacionciclocarrera registro =  this.obtenerCicloCarrera(carrera, ciclo);
        controlador.destroy(registro.getIdAsignacionCicloCarrera());
    }
}
